Isolating execution of an application is one security practice utilized to protect application data from unauthorized access and to provide guarantees such as integrity and/or confidentiality of the data and code used by the application. Isolation often includes running the application in an environment providing a tightly controlled set of resources used by the application. However, effective isolation methods must also permit secured applications to share data without exposing the application data to external compromised system software and/or unauthorized applications. Some architectures require identifying the set of applications that can access the application data during development of the application. However, often developers of the application are not aware of every application that may require access to the application data, and/or the type of access to the application data individual applications will require. For instance, an application vendor may be unable to list not yet developed applications that will need to securely interface with an application developed by the application vendor. Furthermore, it is often burdensome and inefficient to update pre-existing applications and/or secure execution environments to allow trust relationships between pre-existing applications and new applications in a dynamic way.